草庐IT

java -- System类和冒泡排序

全部标签

java - 如何在尝试处理文件之前验证文件是否已完成写入?

很难为我的问题取一个好的标题,但如下所示。首先,我在Windows上执行此操作,它也可能在linux机器上使用,因此我需要修复才能在两个系统上工作。我正在监视新文件的目录。我基本上是查看目录的文件并一遍又一遍地比较它们,然后只处理新文件。问题是我不断收到错误消息,在我尝试处理之前文件未完成写入。publicclassLiveDetectionsProviderextendsDetectionsProvider{protectedLiveDetectionsProvider.MonitorDirectorymonitorDirectory=null;protectedTimeModelt

带有 GUI 工具的 Java 服务

我有一个带有GUI的应用程序。GUI仅用于设置管理。现在我需要把它变成Windows服务。我想将我的应用程序分成2个部分:服务本身和用于提供设置的GUI工具。主要问题是我不确定这个工具应该如何“交流”。设置主要存储在文件中,应用新设置后,服务应该重新启动。至于现在,我想到了管理工具通过TCP/IP发送少量服务请求,这也允许从网络控制服务。问题是我需要硬编码或使用一些文本文件来设置默认端口,服务在安装后将在该端口上监听管理工具连接。可能有任何替代解决方案,哪个更适合这里? 最佳答案 您正在创建服务。如果您在通信层中所需要的只是能够停止

java - 如果预期的目标应用程序已经在运行,如何停止 installanywhere 安装程序进程

我们使用InstallAnywhere2012部署了一个Java应用程序。部署的应用程序有一个版本通知机制,弹出一个网站,并鼓励用户下载并启动“新版本”,而“旧版本”可能仍在运行。在此过程中有一个“请退出”对话框,但用户通常不会退出,安装“新版本”的行为通常只会覆盖未锁定的文件,这会导致无法安装,直到用户执行干净重新安装。如果“旧版本”当前正在运行,我想修改实际安装程序以退出,要求用户先退出它。IA提供了一种“执行自定义代码”的方法,它可以指向一个jar文件。因此,我创建了一个独立的可运行jar程序,如果一切正常,该程序将以代码0退出,如果检测到“旧版本”正在运行,则以代码1退出,这取

java - telnet 和 Java (com.danga) 之间的 Memcached 跨客户端兼容性问题

我是memcached的新手,正在认识一个老friendJava-我在winx64和java1.7上运行。还通过安装文件couchbase-server-enterprise_2.2.0_x86_64在我本地的win64机器上运行couchbasememcache服务器。一切正常,直到我注意到在与telnetsession中设置的键进行字符串比较并在java中检查此键时出现奇怪的行为。来自telnetsessionsets1104abcdSTOREDsets23204abcdSTORED来self的主要java测试类:...System.out.println("Gets1fromCa

java - 在Java中,是否可以监听外部监视器的连接/断开?

从我的笔记本电脑上断开外接显示器后,我丢失了一些应用程序,因为断开连接的显示器仍设置为默认显示器。我的一些窗口试图在断开连接的显示器上显示。我有一个解决方法,例如右键单击应用程序图标并选择移动,然后使用箭头键将窗口移动到我的笔记本电脑。我想知道Java中是否有一种方法可以监听断开连接,然后将我的默认屏幕重置为我的笔记本电脑。我考虑过获取启动时可用屏幕的数量和ID,并将它们添加到属性文件中。如果屏幕断开连接,请再次获取可用屏幕的数量和ID,并将这些值与我的属性文件中的值进行比较。然后我可以将默认值设置为与新值和存储值相匹配的屏幕。我还没有开始编写代码。在这一点上,这比任何事情都更具调查性

java - 自动将Java应用程序更新为Windows可安装的

在这一点上,我发现了很多讨论,但是从JAR中运行的Java程序(在这种情况下很容易替换它)或者C语言应用程序(我对C语言没有知识)。我使用一个工具(安装4J,…)从我的JAVASwing应用程序的jar中生成一个可安装的Windows文件。我在windows上安装和运行的产品本身应该能够“自动更新”,因此我的应用程序中必须有一个组件,该组件可以在线检查是否要下载新版本,并将其放在当前正在执行的位置。我不知道我的应用程序是如何安装在windows中的(文件放在哪里?在一个地方?……)那么,我该怎么做才能用一个新版本(在本例中可能是从一个新的可安装文件télchargé中)替换当前运行的版

java - 在 WinSCP 中如何知道 SFTP 是否成功

我正在使用以下代码通过Jsch运行SFTP命令:publicvoidputfile(){try{Stringcommand="winscp/script=D:\\command.txt";System.out.println(command);Runtimert=Runtime.getRuntime();rt.exec(command);}catch(Exceptione){System.out.println("Exceptioninindex.jsp:"+e.getMessage());}}我正在将sample.zip从本地机器放到Unix服务器上,command.txt包含:op

Windows-自动启动 : Application directory seems to be C:/Windows/system32/

当我的应用程序从Windows的自动启动启动时,Qt无法打开它。导致这个的错误是QDir().absoluteFilePath("settings.cnf")返回路径C:/Windows/system32/settings.cnf,即使我的文件位于我的工作目录中。有人知道我必须调用什么方法才能获得正确的路径吗? 最佳答案 使用默认构造函数QDir()默认为当前工作目录,可以是任何内容,具体取决于用户或系统从何处启动应用程序。对于UI应用程序,这是一条通常应该完全忽略的路径。要访问应用程序二进制文件旁边的数据,请使用QCoreAppl

java - 重新启动 linux 和 windows 的 java 应用程序

我有一个Java应用程序,当有更新时它应该重新启动。我怎样才能再次自动重新启动java应用程序。我尝试使用流程构建器重新启动。ProcessBuilderbuilder=newProcessBuilder(command);builder.directory(newFile(workingDir));builder.start();System.exit(0);然而,当我检查正在运行的应用程序时,较早的进程仍在运行。 最佳答案 将您的进程重启逻辑放在单独的线程中,并将其注册为shutdownhook。也许你可以让这个关闭钩子(Hoo

java - 如何在任何计算机上使用 Java 默认打开 Java 程序

当我将我创建的Java游戏发送给friend时,我发送给他们的JAR文件对他们来说通常看起来像RAR文件。这是因为他们计算机上的Windows认为该文件应该由WinRar打开。他们的计算机上有JRE,但Windows上的默认设置是他们收到的文件应由WinRar打开。不能指望我发送我的程序的人会猜到,他们需要做的是专门告诉Windows使用Java打开文件。有没有办法让我发送给某人的JAR文件默认使用JRE在他/她的计算机上打开?非常感谢 最佳答案 可以考虑添加BATCH脚本。类似于java-jarYourJarName.jar您将需